﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Common;
using BusinessLayer;

namespace BoletoElectronicoDesktop.TarjetasInactividad
{
   public partial class FormTarjetasInactividad : FormListDelete
    {

        public FormTarjetasInactividad(Common.Util.Funcionalidad Use)
            : base(Use)
        {
 
            InitializeComponent();
            Load += new EventHandler(FormTarjetasInactividad_Load);
            dgwCliente.CellClick +=new DataGridViewCellEventHandler(dgwCliente_CellClick);
        }

        void FormTarjetasInactividad_Load(object sender, EventArgs e)
        {
            FormTarjetasInactividad_Load();
        }

        private int selectedId;
        public int SelectedId
        {
            get
            {
                try
                {
                    if ((dsBoleto.ClienteRow)((DataRowView)(dgwCliente.CurrentRow.DataBoundItem)).Row != null)
                    {
                        selectedId = int.Parse(((dsBoleto.ClienteRow)((DataRowView)(dgwCliente.CurrentRow.DataBoundItem)).Row)["IdTarjeta"].ToString());
                    }
                }
                catch (Exception)
                {
                    selectedId = 0;
                }
                return selectedId;
            }
            set
            { selectedId = value; }
        }

        private void dgwCliente_SelectionChanged(object sender, EventArgs e)
        {
            OnDGWSelectedItem();
        }

        private void OnDGWSelectedItem()
        {
            dsBoleto.ClienteRow ur = (dsBoleto.ClienteRow)((DataRowView)(dgwCliente.CurrentRow.DataBoundItem)).Row;
            switch (dgwCliente.CurrentCell.ColumnIndex)
            {
                case 0://Delete
                    if (UserAllowed(Util.Funcionalidad.TarjetaBaja))
                    {


                        if (MessageBox.Show("Esta seguro que desea desactivar la tarjeta especificada?",
                            "Desactivar Tarjeta", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {

                            btnEliminar_Click();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ud. No tiene permisos como para realizar esta operacion.-");
                    }
                    break;

                default:
                    break;
            }
        }

        private void OnDGWDeselectedItem()
        {
            SelectedId = 0;
        }

        private void dgwCliente_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex != -1)
                OnDGWSelectedItem();
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            btnEliminar_Click();
        }

        private void btnEliminar_Click()
        {
            BizTarjeta.DeleteTarjeta(SelectedId);
            FormTarjetasInactividad_Load();
        }

        private void FormTarjetasInactividad_Load()
        {
            dgwCliente.DataSource = BizTarjeta.GetTarjetasInactivas().Cliente;
        }

    }
}
